package com.ruoyi.member.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 会员信息对象 member_info
 * 
 * @author tenderness
 * @date 2021-04-08
 */
public class MemberInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /** 性别 */
    @Excel(name = "性别")
    private Long sex;

    /** 出生年月 */
    @JsonFormat(pattern = "yyyy-MM")
    @Excel(name = "出生年月", width = 30, dateFormat = "yyyy-MM")
    private Date brith;

    /** 民族 */
    @Excel(name = "民族")
    private String nation;

    /** 籍贯 */
    @Excel(name = "籍贯")
    private String nativePlace;

    /** 学历 */
    @Excel(name = "学历")
    private String education;

    /** 毕业院校 */
    @Excel(name = "毕业院校")
    private String wentToSchool;

    /** 职务 */
    @Excel(name = "职务")
    private String post;

    @Excel (name="政治面貌")
    private String politicalLandscape;

    /** 加入党派时间 */
    @JsonFormat(pattern = "yyyy-MM")
    @Excel(name = "加入党派时间", width = 30, dateFormat = "yyyy-MM")
    private Date joinTime;

    /** 工作单位 */
    @Excel(name = "工作单位")
    private String workUnit;

    /** 联系方式 */
    @Excel(name = "联系方式")
    private String contactInformation;

    /** 专业 */
    @Excel(name = "专业")
    private String major;

    /** 参加工作时间 */
    @JsonFormat(pattern = "yyyy-MM")
    @Excel(name = "参加工作时间", width = 30, dateFormat = "yyyy-MM")
    private Date workTime;

    /** 技术职称 */
    @Excel(name = "技术职称")
    private String technicalTitle;

    /** 职级 */
    @Excel(name = "职级")
    private String rank;

    /** 任现职时间 */
    @JsonFormat(pattern = "yyyy-MM")
    @Excel(name = "任现职时间", width = 30, dateFormat = "yyyy-MM")
    private Date holdTime1;

    /** 任现职级时间 */
    @JsonFormat(pattern = "yyyy-MM")
    @Excel(name = "任现职级时间", width = 30, dateFormat = "yyyy-MM")
    private Date holdTime2;

    /** 任同职级时间 */
    @JsonFormat(pattern = "yyyy-MM")
    @Excel(name = "任同职级时间", width = 30, dateFormat = "yyyy-MM")
    private Date holdTime3;

    /** 国外学习单位 */
    @Excel(name = "国外学习单位")
    private String abroadCompany;

    /** 国外学习时间 */
    @JsonFormat(pattern = "yyyy-MM")
    @Excel(name = "国外学习时间", width = 30, dateFormat = "yyyy-MM")
    private Date abroadTime;

    /** 状态 */
    @Excel(name = "状态")
    private Long state;

    @Excel(name = "类型")
    private Long type;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setSex(Long sex) 
    {
        this.sex = sex;
    }

    public Long getSex() 
    {
        return sex;
    }
    public void setBrith(Date brith) 
    {
        this.brith = brith;
    }

    public Date getBrith() 
    {
        return brith;
    }
    public void setNation(String nation) 
    {
        this.nation = nation;
    }

    public String getNation() 
    {
        return nation;
    }
    public void setNativePlace(String nativePlace) 
    {
        this.nativePlace = nativePlace;
    }

    public String getNativePlace() 
    {
        return nativePlace;
    }
    public void setEducation(String education) 
    {
        this.education = education;
    }

    public String getEducation() 
    {
        return education;
    }
    public void setWentToSchool(String wentToSchool) 
    {
        this.wentToSchool = wentToSchool;
    }

    public String getWentToSchool() 
    {
        return wentToSchool;
    }
    public void setPost(String post) 
    {
        this.post = post;
    }

    public String getPost() 
    {
        return post;
    }
    public void setJoinTime(Date joinTime) 
    {
        this.joinTime = joinTime;
    }

    public Date getJoinTime() 
    {
        return joinTime;
    }
    public void setWorkUnit(String workUnit) 
    {
        this.workUnit = workUnit;
    }

    public String getWorkUnit() 
    {
        return workUnit;
    }
    public void setContactInformation(String contactInformation) 
    {
        this.contactInformation = contactInformation;
    }

    public String getContactInformation() 
    {
        return contactInformation;
    }
    public void setMajor(String major) 
    {
        this.major = major;
    }

    public String getMajor() 
    {
        return major;
    }
    public void setWorkTime(Date workTime) 
    {
        this.workTime = workTime;
    }

    public Date getWorkTime() 
    {
        return workTime;
    }
    public void setTechnicalTitle(String technicalTitle) 
    {
        this.technicalTitle = technicalTitle;
    }

    public String getTechnicalTitle() 
    {
        return technicalTitle;
    }
    public void setRank(String rank) 
    {
        this.rank = rank;
    }

    public String getRank() 
    {
        return rank;
    }
    public void setHoldTime1(Date holdTime1) 
    {
        this.holdTime1 = holdTime1;
    }

    public Date getHoldTime1() 
    {
        return holdTime1;
    }
    public void setHoldTime2(Date holdTime2) 
    {
        this.holdTime2 = holdTime2;
    }

    public Date getHoldTime2() 
    {
        return holdTime2;
    }
    public void setHoldTime3(Date holdTime3) 
    {
        this.holdTime3 = holdTime3;
    }

    public Date getHoldTime3() 
    {
        return holdTime3;
    }
    public void setAbroadCompany(String abroadCompany) 
    {
        this.abroadCompany = abroadCompany;
    }

    public String getAbroadCompany() 
    {
        return abroadCompany;
    }
    public void setAbroadTime(Date abroadTime) 
    {
        this.abroadTime = abroadTime;
    }

    public Date getAbroadTime() 
    {
        return abroadTime;
    }
    public void setState(Long state) 
    {
        this.state = state;
    }

    public Long getState() 
    {
        return state;
    }

    public Long getType() {
        return type;
    }

    public void setType(Long type) {
        this.type = type;
    }

    public String getPoliticalLandscape() {
        return politicalLandscape;
    }

    public void setPoliticalLandscape(String politicalLandscape) {
        this.politicalLandscape = politicalLandscape;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("sex", getSex())
            .append("brith", getBrith())
            .append("nation", getNation())
            .append("nativePlace", getNativePlace())
            .append("education", getEducation())
            .append("wentToSchool", getWentToSchool())
            .append("post", getPost())
            .append("politicalLandscape", getPoliticalLandscape())
            .append("joinTime", getJoinTime())
            .append("workUnit", getWorkUnit())
            .append("contactInformation", getContactInformation())
            .append("major", getMajor())
            .append("workTime", getWorkTime())
            .append("technicalTitle", getTechnicalTitle())
            .append("rank", getRank())
            .append("holdTime1", getHoldTime1())
            .append("holdTime2", getHoldTime2())
            .append("holdTime3", getHoldTime3())
            .append("abroadCompany", getAbroadCompany())
            .append("abroadTime", getAbroadTime())
            .append("state", getState())
            .append("type", getType())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
